# **********************OBJ INFO**************************
# Author:YuKalix
# @Time    : 2019-10-22 22:47
# @Site    : 52ziyu.cn
# @File    : main.py
# @software: PyCharm
# *********************************************************
from wxpy import Bot
import platform
import configparser
import time
import requests
import SpiderImages


class WechatLoveRebot:
    def __get_paltforme(self):
        if ('Windows' in platform.system()):
            # Windows
            bot = Bot(cache_path=True)
            print('环境是windows')
        elif ('Linux' in platform.system()):
            # Linux
            bot = Bot(console_qr=2, cache_path=True)
            print('环境是linux')
        else:
            # 自行确定
            print("无法识别你的操作系统类型，请自己设置")
            bot = 1
        return bot
    def __get_ini(self):
         # 读取配置文件
        cf = configparser.ConfigParser()
        cf.read("../config.ini",encoding='UTF-8')
        print(cf.sections())
        return cf
    def __init__(self):
        self.bot = self.__get_paltforme()
        cf = self.__get_ini()
        # 你女友的微信名称，记住，不是微信ID也不是微信备注
        self.my_lady_wechat_name = cf.get("configuration", "my_lady_wechat_name")
        self.my_girl_friend = self.bot.friends().search(self.my_lady_wechat_name)
        print(self.my_girl_friend)
        # 设置早上起床时间，中午吃饭时间，下午吃饭时间，晚上睡觉时间
        self.say_good_morning = cf.get("configuration", "say_good_morning")
        self.say_good_lunch = cf.get("configuration", "say_good_lunch")
        self.say_good_dinner = cf.get("configuration", "say_good_dinner")
        self.say_good_dream = cf.get("configuration", "say_good_dream")
        # 设置女友生日信息
        # 几月，注意补全数字，为两位数，比如6月必须写成06
        self.birthday_month = cf.get("configuration", "birthday_month")
        # 几号，注意补全数字，为两位数，比如6号必须写成08
        self.birthday_day = cf.get("configuration", "birthday_day")
    def sentiment_analysis(self):
        # 接收女友消息监听器

        # chats=my_girl_friend 表示接收消息的对象，也就是女友
        # except_self=False 表示同时也接收自己发的消息，不需要接收自己消息的可以去掉
        @self.bot.register(chats=self.my_girl_friend, except_self=False)
        def print_others(msg):
            # 输出聊天内容
            print(msg.text)
            # 做极其简单的情感分析
            # 结果仅供参考，请勿完全相信
            postData = {'data': msg.text}
            response = requests.post('https://bosonnlp.com/analysis/sentiment?analysisType=', data=postData)
            data = response.text

            # 情感评分指数(越接近1表示心情越好，越接近0表示心情越差)
            now_mod_rank = (data.split(',')[0]).replace('[[', '')
            print("来自女友的消息:%s\n当前情感得分:%s\n越接近1表示心情越好，越接近0表示心情越差，情感结果仅供参考，请勿完全相信！\n\n" % (msg.text, now_mod_rank))

            # 发送信息到文件传输助手
            mood_message = u"来自女友的消息:" + msg.text + "\n当前情感得分:" + now_mod_rank + "\n越接近1表示心情越好，越接近0表示心情越差，情感结果仅供参考，请勿完全相信！\n\n"
            self.bot.file_helper.send(mood_message)
    def send_message(self,message):
        message = '''*****月子的专程守护,守护中，时间:{0}*****
    你的小可爱委派邓伦替他喊话:
    {1}'''.format(time.ctime(), message)
        self.my_girl_friend.send(message)
    def main(self):
        print(self.my_girl_friend)
        # 提示
        print("守护中，时间:%s" % time.ctime())
        # 获取时间，只获取时和分，对应的位置为倒数第13位到倒数第8位
        now_time = time.ctime()[-13:-8]
        print(now_time)
        if(now_time == self.say_good_morning):
            SpiderImages.spider_main()
            self.my_girl_friend.send_image('./1.jpg')
            self.send_message('早上啦,起床啦,晒屁股啦')
        if(now_time == self.say_good_lunch):
            self.send_message('中午啦，吃完午饭啦,饿死求子了。')
        if(now_time == self.say_good_dinner):
            self.send_message('晚上啦，吃完晚饭了。')
        if(now_time == self.say_good_dream):
            self.send_message('睡觉觉了')


if __name__ == '__main__':
    S = WechatLoveRebot()
    S.sentiment_analysis()
    while True:
        S.main()
        # S.sentiment_analysis()
        time.sleep(60)

